﻿using FluentNHibernate.Mapping;
using Business.Entities;

namespace Data.Database.Mapeos
{
    public class UsuarioMap : ClassMap<Usuario>
    {
        //Esta clase define como se mapean las propiedades de la clase Usuario
        //a los campos de la tabla usuarios en la Base de Datos

        public UsuarioMap()
        {
            Table("usuarios");
            Id(x => x.Id).Column("id_usuario").GeneratedBy.Increment();
            Map(x => x.Nombre).Column("nombre").Not.Nullable();
            Map(x => x.Apellido).Column("apellido").Not.Nullable();
            Map(x => x.Email).Column("email").Nullable();
            Map(x => x.NombreUsuario).Column("nombre_usuario").Not.Nullable();
            Map(x => x.Clave).Column("clave").Not.Nullable();
            Map(x => x.Habilitado).Column("habilitado").Not.Nullable();
            References<Persona>(x => x.IdPersona).Column("id_persona").Nullable().Cascade.All();   
        }
    }
}
